package com.ibeeking.found.cop.b.rest.service;

import com.ibeeking.found.cop.service.common.param.DataTalkParam;
import com.ibeeking.found.cop.service.common.query.DataTalkQuery;
import com.ibeeking.found.cop.service.common.vo.DataTalkFriendsViewVO;
import com.ibeeking.found.cop.service.common.vo.DataTalkVO;
import com.ibeeking.found.cop.service.common.vo.DataTalkViewVO;

import java.util.List;

public interface IDataTalkService {
    Boolean sendMsg(String type);
    /***
     * 查询列表
     */
    List<DataTalkVO> list(DataTalkQuery query);
    /***
     * 查询列表
     */
    DataTalkViewVO queryBySenderAndReceiverCode(String senderCode, String receiverCode, Integer type);
    /***
     * 查询列表
     */
    DataTalkViewVO queryByGroupCode(String groupCode);
    /***
     * 基于员工查询好友列表
     */
    List<DataTalkFriendsViewVO> queryFriendsList(String code, Integer type);
    /***
     * 基于员工查询所在的群列表
     */
    List<DataTalkFriendsViewVO> queryGroupList(String code);
    /***
     * 新增
     */
    Boolean add(DataTalkParam param);

    /***
     * 客户同意进行聊天内容存档
     */
    Boolean updateFriendsAgree(String employeeCode, String friendsCode, String welcomeCode);
    /***
     * 通过id查询
     */
    DataTalkVO view(Long id);

    /***
     * 获取会话内容存档
     */
    Boolean syncBatchDataTalkFromWxCp(Long tenantId);
    /***
     * 获取会话内容存档开启成员列表
     */
    Boolean syncBatchDataTalkFriendsPermitFromWxCp(Long tenantId);
    /***
     * 获取会话同意情况
     */
    Boolean syncBatchDataTalkFriendsAgreeFromWxCp(Long tenantId);
}
